In a transmission of data over a digital communication network, such as an asynchronous transfer mode or ATM network, problems arise when multiple sources send data cells or packets at widely varying rates through a switch node or link of the network at an aggregated rate which taxes the ability of that switch node or link to handle the data. Congestion occurs at the node of a network when data arrives at the node at a rate exceeding the rate at which the node can process and forward the data to other nodes. The excess data then accumulates in buffer storage at the node, which fills at a rate which is the difference between the arrival rate and the processing and forwarding rate. If the congestion persists for long periods of time, the buffer storage will be filled to maximum capacity and any additional data must be discarded.
In an effort to minimize such data loss, there are two types of systems which have been used at a source to prevent or inhibit excess data from entering the network. One such system is a rate-based system in which the rate at which the data is permitted to enter the network is adjusted via a feedback signal from a destination reflecting the overall congestion of the network. This congestion of the network is typically denoted by one bit in the header of each cell or packet. It will be noted that this feedback signal contains only one bit of information. Thus only congestion or non congestion can be ascertained, and not the degree of congestion. As a result the rate at which cells are transmitted can never be properly adjusted to the degree of congestion. Moreover, rate-based systems in general do not guarantee that the data will not be lost because the rate adjustment alone is not effective to completely prevent congestion due to unexpected data bursts, commonly referred to as bursty data. Since the data rate of the source can not be adequately adjusted based solely on an average level of congestion, data loss can not be completely avoided.
A competing system for controlling data transmission which guarantees lossless transmission does in fact take into account the state of the destination and the states of all the nodes between the source and the destination by issuing a so-called credit to the source. The credits are generated starting at a destination node to reflect its ability to receive data. This credit is transmitted back to the next upstream node where this credit is interpreted and modified based on this node's ability to receive data. The process continues through each intermediate node back to the source where the credit at the source reflects all intermediate credits as well as the one from the destination. Typically the credits reflect the unused buffer space at each node. The source then interprets the credit as an indication of the amount of data that it can transmit into the network without any data loss due to congestion or buffer overflow. Note that data rate is not controlled, but the number of cells transmitted is controlled. As will be appreciated, this system requires an increase in the amount of processing at each network node. As a result, there has been substantial resistance on the part of manufacturers to increase the processing power at a switch node due in part to cost. Moreover, requiring all nodes to use the credit-based scheme would necessitate the replacement of most existing network switch nodes, which would obsolete not only the present equipment but also much engineering investment.
There is therefore a need for flexibility in the design of a traffic control system which can accommodate both the rate-based and credit-based systems, while at the same permitting the evolution of traffic control from a rate-based system to a credit-based system, or to a combination of the two.
More particularly, two principal traffic control schemes for bursty data are currently being considered by the industry: a Rate-Based (RB) scheme such as described by Yin and Hluchyj in an article entitled "On Closed-Loop Rate Control for ATM Cell Relay Networks" published in IEEE Infocom '94 Conference, Toronto, Canada, June, 1994, and a Credit-Based (CB) scheme such as described by Kung and Chapman in an article entitled "The FCVC (Flow-Controlled Virtual Channels) Proposal for ATM Networks: A Summary" published in Proceedings of 1993 International Conference on Network Protocols, San Francisco, Calif., Oct. 19-22 1993.
The rate-based scheme employs an end-to-end closed-loop flow control approach by requiring sources to adjust their transmission rates according to the feedback information sent back from destinations or segmentation points. The credit-based scheme uses a link-by-link flow control approach such that an upstream node does not send cells unless it knows that buffer space is available at a downstream node.
Each scheme has its advantages and disadvantages. The rate-based scheme relies on end systems to do traffic control. Thus very little intelligence and participation are required on the part of switch nodes of ATM networks. Also, the rate-based paradigm is in accordance with the current standards for ATM traffic management to be implemented on network interface hardware. However, the issues of performance and its ability to react to congestion have been raised about the rate-based scheme. There is no analytical proof or real world experience showing that the rate-based scheme will be able to provide satisfactory performance and minimize cell losses of bursty traffic.
The credit-based scheme, on the other hand, has a solid proof that lossless transmission can be achieved. With its static buffer allocation algorithm, it can also achieve the maximum link bandwidth utilization. However, since the credit-based scheme requires coordination and active participation of all switches in a path, significant changes to the architecture of the existing ATM switches are needed. The switch implementation cost, in terms of processing power and buffer requirement, is also of concern. Thus a main concern about the credit-based scheme is whether or not the scheme is mature enough for wide spread implementation.